﻿namespace Sidvall.IdentityManager.Net.Services.V1
{
    public sealed partial class AspNetRolesCollectionItem : global::Sidvall.Data.ServiceDataRowCollectionItem<global::Sidvall.IdentityManager.Net.Services.V1.AspNetRoles>
    {
        #region Public Members


        #region Copy

        public AspNetRolesCollectionItem Copy()
        {
            return global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.Copy(this.Items);
        }
        public AspNetRolesCollectionItem Copy(Sidvall.Data.CopySettings settings)
        {
            return global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.Copy(this.Items, settings);
        }

        #endregion
        #region Import

        public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.IdentityManager.Data.IAspNetRoles> items)
        {
            global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.Import(this.Items, items);
        }
        public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.IdentityManager.Data.IAspNetRoles> items, Sidvall.Data.CopySettings settings)
        {
            global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.Import(this.Items, items, settings);
        }

        #endregion
        #region SaveItemsAsync

        public async System.Threading.Tasks.Task<AspNetRolesCollectionItem> SaveItemsAsync()
        {
            return await global::Sidvall.IdentityManager.SystemContext.Current.DataPortal.AspNetRolesManager.SaveItemsAsync(this).ConfigureAwait(false);
        }
        public async System.Threading.Tasks.Task<AspNetRolesCollectionItem> SaveItemsAsync(Sidvall.Data.SaveMode mode)
        {
            return await global::Sidvall.IdentityManager.SystemContext.Current.DataPortal.AspNetRolesManager.SaveItemsAsync(this, mode).ConfigureAwait(false);
        }
        public async System.Threading.Tasks.Task<AspNetRolesCollectionItem> SaveItemsAsync(Sidvall.Data.SaveSettings settings)
        {
            return await global::Sidvall.IdentityManager.SystemContext.Current.DataPortal.AspNetRolesManager.SaveItemsAsync(this, settings).ConfigureAwait(false);
        }

        #endregion
        #region ValidateAsync

        public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync()
        {
            return await global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.ValidateAsync(this.Items).ConfigureAwait(false);
        }
        public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync(Sidvall.Data.ValidationSettings settings)
        {
            return await global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.ValidateAsync(this.Items, settings).ConfigureAwait(false);
        }

        #endregion
        #region Initialize

        public void Initialize()
        {
            global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.Initialize(this.Items);
        }
        public void Initialize(Sidvall.Data.InitializeSettings settings)
        {
            global::Sidvall.IdentityManager.SystemContext.Current.EntityFacade.AspNetRolesManager.Initialize(this.Items, settings);
        }

        #endregion

        #endregion
        #region Constructors

        public AspNetRolesCollectionItem()
        {
        }
        public AspNetRolesCollectionItem(System.Collections.Generic.IEnumerable<global::Sidvall.IdentityManager.Net.Services.V1.AspNetRoles> items)
            : base(items)
        {
        }

        #endregion
    }
}